package com.castle.fortress.admin.study.exam.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.castle.fortress.admin.study.exam.entity.StudyExamStatisticsEntity;
import com.castle.fortress.admin.study.exam.dto.StudyExamStatisticsDto;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.Map;
import java.util.List;

/**
 * 试卷统计 服务类
 *
 * @author castle
 * @since 2023-02-16
 */
public interface StudyExamStatisticsService extends IService<StudyExamStatisticsEntity> {

    /**
     * 分页展示试卷统计列表
     * @param page
     * @param studyExamStatisticsDto
     * @return
     */
    IPage<StudyExamStatisticsDto> pageStudyExamStatistics(Page<StudyExamStatisticsDto> page, StudyExamStatisticsDto studyExamStatisticsDto);


    /**
     * 展示试卷统计列表
     * @param studyExamStatisticsDto
     * @return
     */
    List<StudyExamStatisticsDto> listStudyExamStatistics(StudyExamStatisticsDto studyExamStatisticsDto);

    /**
     * 查询指定会员的考试统计信息
     * @param memberId
     * @param examId
     * @return
     */
    StudyExamStatisticsDto queryByMemberAndExam(Long memberId, Long examId);

    IPage<StudyExamStatisticsDto> pageStudyExamStatisticsExtends(Page<StudyExamStatisticsDto> page, StudyExamStatisticsDto studyExamStatisticsDto);

    boolean updateByIsDelete(StudyExamStatisticsEntity statisticsEntity);
}
